class Person {
  name: String
  age: Int
  address: Address
  friend: Person?
}

class Address {
  street: String
}

int = 123

float = 1.23

bool = true

string = "Pigeon"

unicodeString = "abc😀abc😎abc"

multiLineString = """
  have a
  great
  day
  """

map = Map(
  "one", int,
  "two", float,
  "three", bool,
  "four", string,
  "five", unicodeString,
  "six", multiLineString,
  "seven", new Dynamic { name = "Pigeon" },
  "eight", null
)

mapping = new Mapping {
  ["one"] = int
  ["two"] = float
  ["three"] = bool
  ["four"] = string
  ["five"] = unicodeString
  ["six"] = multiLineString
  ["seven"] = new { name = "Pigeon" }
  ["eight"] = null
}

typedObject = new Person {
  name = "Pigeon"
  age = 30
  address {
    street = "Folsom St."
  }
  friend = null
}

container {
  name = "Pigeon"
  age = 30
  address {
    street = "Folsom St."
  }
  friend = null
}
